home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c-part1 / 7335 < prev    next >
Encoding:
Text File  |  1996-08-05  |  1.3 KB  |  56 lines

  1. Path: grease.sms.co.uk!usenet
  2. From: Piers Scannell <piers@sms.co.uk>
  3. Newsgroups: comp.lang.c
  4. Subject: Re: changing strings via pointers
  5. Date: Sun, 25 Feb 1996 18:05:17 +0000
  6. Organization: Satellite Media Services
  7. Message-ID: <3130A4DD.794BDF32@sms.co.uk>
  8. References: <1996Feb22.125436.25503@leeds.ac.uk>
  9. NNTP-Posting-Host: sms12.sms.co.uk
  10. Mime-Version: 1.0
  11. Content-Type: text/plain; charset=us-ascii
  12. Content-Transfer-Encoding: 7bit
  13. X-Mailer: Mozilla 2.0b6a (X11; I; SunOS 4.1.3 sun4m)
  14.  
  15. Hi Andy,
  16.  
  17. I think the following will do what you want:
  18.  
  19.   char *ptr;
  20.  
  21.   ptr = Contents;  /* point the pointer at your string */
  22.  
  23.   while (*ptr != '\n' && *ptr != '\0') ptr++;
  24.   *ptr = '\0';  
  25.  
  26. note:
  27.  
  28. ptr *won't* point at the string afterwards
  29. you might want to include: 
  30.    if (*ptr == '\n') 
  31. before the *ptr = '\0'; for correctness, otherwise you may sometimes
  32. replace zero with zero!
  33.  
  34. using single quotes ('\0') gives a character, whereas using double quotes
  35. implies a string. 
  36.  
  37. hope that helps,
  38. -Piers
  39.  
  40.  
  41.  
  42.  
  43. A M Casey wrote:
  44. > I reading in strings from a file using fgets, which stores the "\n" in
  45. > the array of chars which I have declared using a pointer.
  46. > The thing is, I want to get rid of the "\n" and replace it with "\0", but
  47. > obviously I can only do this using the pointer. I'm using the following code:
  48. [snip]
  49. > Cheers
  50. > ANdy
  51. --
  52.